package br.com.tcf.ManegedBeans;

import java.util.ArrayList;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;

import br.com.tcf.arqConfiguracoes.buildLog;
import br.com.tcf.dao.EmpresaDao;
import br.com.tcf.dao.LocalidadesDao;
import br.com.tcf.entidades.Cardapio;
import br.com.tcf.entidades.Empresa;

@ManagedBean(name="empresaMB")
@ViewScoped
public class EmpresaMB {
	private Empresa empresa = new Empresa();
	private int id_empresa;
	private EmpresaDao empdao;
	private Cardapio cardapio;
	private int id_cidade;
	private LocalidadesDao ldao;
	private List<Empresa> empresas = new ArrayList<Empresa>();

	@PostConstruct
	public void ini(){
		empdao = new EmpresaDao();

		empresas = empdao.buscaEmpresaAtiva();
	}
	public void gravaEmpresa(){
		try{
			ldao = new LocalidadesDao();
			empdao = new EmpresaDao();

			cardapio = new Cardapio();
			cardapio.setNm_cardapio(empresa.getNm_fantasia());
			cardapio.setEmpresa(empresa);

			empresa.setCardapio(cardapio);
			empresa.setCidade(ldao.buscaCidadePorId(id_cidade));

			empdao.gravaEmpresa(empresa);
			empresa = new Empresa();	
			cardapio = new Cardapio();

			buildLog.enviaMessagemParaTela(FacesMessage.SEVERITY_INFO, "Sucesso! ", "Empresa salva com sucesso!");
		}catch(Exception e){
			e.printStackTrace();
			buildLog.enviaMessagemParaTela(FacesMessage.SEVERITY_ERROR, "Erro! ", "Erro ao salvar empresa, procure o administrador do sistema!");
		}
	}

	//GETTERS AND SETTERS
	public int getId_empresa() {
		return id_empresa;
	}
	public void setId_empresa(int id_empresa) {
		this.id_empresa = id_empresa;
	}
	public Empresa getEmpresa() {
		return empresa;
	}
	public void setEmpresa(Empresa empresa) {
		this.empresa = empresa;
	}
	public EmpresaDao getEmpdao() {
		return empdao;
	}
	public void setEmpdao(EmpresaDao empdao) {
		this.empdao = empdao;
	}
	public List<Empresa> getEmpresas() {
		return empresas;
	}
	public void setEmpresas(List<Empresa> empresas) {
		this.empresas = empresas;
	}	
	public int getId_cidade() {
		return id_cidade;
	}
	public void setId_cidade(int id_cidade) {
		this.id_cidade = id_cidade;
	}
}
